package com.tbit.uqbike.webmanager.business.maintain_performance.object.dto;

import com.tbit.uqbike.webmanager.business.maintain_performance.constant.PerformanceBizType;
import com.tbit.uqbike.webmanager.business.maintain_performance.object.PerformanceRuleGroup;

/**
 * 运维绩效规则的业务对象接口
 *
 * @author <a href="mailto:zheng.zebiao@tbit.com.cn">zb</a>
 * @since 2025/2/20
 */
public interface BizRuleGroup {
    /**
     * 转换为DB数据对象
     *
     * @param bizType   业务类型
     * @param accountId 区域id
     * @return DB数据对象
     */
    PerformanceRuleGroup toRaw(PerformanceBizType bizType, Integer accountId);

    /**
     * 从DB数据对象初始化
     *
     * @param group DB数据对象
     */
    void initFromRaw(PerformanceRuleGroup group);

    /**
     * 初始化默认值
     */
    void initDefault();
}
